package com.bs.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import com.bs.utils.*;
import com.bs.bean.User;

/*持久层接口，封装了对user表的增删改查方法功能*/
public interface UserMapper {

//	定义表名
	public static final String table="user";

//  查询user表中的所有数据
	@Select("select * from "+DBUtils.perfix+table+DBUtils.sufix+"")
	List<User> selectByExample(User user);
	
//  根据主键id查询user表中对应的数据
	@Select("select * from "+DBUtils.perfix+table+DBUtils.sufix+" where "+DBUtils.perfix+"id"+DBUtils.sufix+"=#{id}")
	User selectByPrimaryKey(Integer id);
	
//  向user表中的添加一条数据
	@Insert("insert into "+DBUtils.perfix+table+DBUtils.sufix+" values(#{id},#{username},#{password},#{sex},#{phone})")
	int insertSelective(User user);

//  根据主键id更新user表中对应的数据
	@Update("update "+DBUtils.perfix+table+DBUtils.sufix+" set "+DBUtils.perfix+"id"+DBUtils.sufix+"=#{id},"+DBUtils.perfix+"username"+DBUtils.sufix+"=#{username},"+DBUtils.perfix+"password"+DBUtils.sufix+"=#{password},"+DBUtils.perfix+"sex"+DBUtils.sufix+"=#{sex},"+DBUtils.perfix+"phone"+DBUtils.sufix+"=#{phone} where "+DBUtils.perfix+"id"+DBUtils.sufix+"=#{id}")
	int updateByPrimaryKey(User user);
	
//  根据主键id删除user表中对应的数据
	@Delete("delete from "+DBUtils.perfix+table+DBUtils.sufix+" where "+DBUtils.perfix+"id"+DBUtils.sufix+"=#{id}")
	int deleteByPrimaryKey(Integer id);
}